The present invention relates to the area of electronic design automation of logic designs and in particular, to an aspect known as physical resynthesis of a logic design, especially using place and route timing delays to improve synthesis results.
Integrated circuits are important building blocks of the modern age. Technology continues to evolve and integrated circuits continue to provide improved functionality. As integrated circuits improve, so do the electronics systems that are built using integrated circuits. There are many types of integrated circuits such as memories, microprocessors, application specific integrated circuits (ASICs), and programmable logic. Programmable logic integrated circuits such as PALs, PLDs, FPGAs, LCAs, and others are becoming more complex and continually evolving to provide more user-programmable features on a single integrated circuit. Modern programmable logic integrated circuits incorporate programmable logic including logic gates, products terms, or look-up tables. Programmable logic integrated circuits also included embedded functionality such as user-programmable memory or RAM, digital signal processors (DSPs), and on-board microcontrollers such as ARM-based or MIPS-based controllers.
As integrated circuits become more complex and provide more functionality in a smaller die size, it also becomes increasing difficult to ensure the logic functions are implemented properly and in an optimal way. Modern digital integrated circuits have many transistors and many logic gates, more so than be optimized manually in a reasonable amount of time, especially when time-to-market is critical in ensuring a product's success. As a specific example, a typical programmable logic design surpasses the multimillion-gate mark.
Electronic design automation tools are available to assist engineers with the design and verification tasks. But even with the help of computer-aided tools, the process of optimizing an integrated circuit design can be time-consuming because of the large number of variables involved. It is desirable that the design automation task is done time efficiently even for large designs. Further, it is desirable the design automation tool maximizes performance or otherwise improve an aspect of an integrated circuit design. Some other aspects of a design that a tool may help with include improving critical path performance, removing metastability, reducing the number of logic gates used, checking or verifying functionality, removing race conditions, and others.
Some specific performance measures in a design are propagation delay and fmax or FMAX, which is the maximum clock frequency which the integrated circuit can operate before logic errors will occur. For example, it is desirable to optimize logic in a design to provide the highest fmax frequency possible. When improving the performance, it is important the same or equivalent functionality is provided as the original logic design, metastability is not introduced into the design, and the improved design is logically legal.
As can be appreciated, there is a need to provide an electronic design automation system to evaluate and then improve the performance of an integrated circuit design. This system may be specially suited to handling programmable logic designs.